#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>

typedef union {
	unsigned int ci; 
	struct {
		unsigned int b0:1;
		unsigned int b1:1;
		unsigned int b2:1;
		unsigned int b3:1;
		unsigned int b4:1;
		unsigned int b5:1;
		unsigned int b6:1;
		unsigned int b7:1;
		unsigned int b8:1;
		unsigned int b9:1;
		unsigned int b10:1;
		unsigned int b11:1;
		unsigned int b12:1;
		unsigned int b13:1;
		unsigned int b14:1;
		unsigned int b15:1;
	} __attribute__ ((__packed__)) cb;
} CField;

typedef union {
	unsigned char si; 
	struct {
		unsigned int b0:1;
		unsigned int b1:1;
		unsigned int b2:1;
		unsigned int b3:1;
	} __attribute__ ((__packed__)) sb;
} SField;

typedef union {
	unsigned short ii; 
	struct {
		unsigned int b0:1;
		unsigned int b1:1;
		unsigned int b2:1;
		unsigned int b3:1;
		unsigned int b4:1;
		unsigned int b5:1;
		unsigned int b6:1;
		unsigned int b7:1;
	} __attribute__ ((__packed__)) ib;
} IField;

typedef struct {
	CField c;
	SField s;
	IField i;
} RC6_DATA;

// 1101 1110 0000 0001
int main () {
	RC6_DATA rc6;
	printf("\33[32m [MARCO][%d]---[%d]---\33[0m\n", __LINE__, sizeof(rc6)); 
	printf("\n"); 
	printf("\nDone\n"); 
	return 0;
}
